Trainer Tower ShinyHunting in Ruby/Sapphire


-- I) Introduction and Explanations : A Roamer Rematch Bug

The roaming Lati@s are known to have bugged IVs in RS and RfVf, but there is another bug that concerns them in RS.

I'll use an example to illustrate it.

Example :
- You go in Trainer Tower, and face this team :
Kingdra / Salamence / Dugtrio / - / - / -

- After a good battle, you lose agains the last Pokemon of the opponent.
When you lost, the opponent team was :
KO Kingdra / KO Salamence / Dugtrio / - / - / -

 Once a battle ends, the game doesn't refresh or erase the data concerning the opponent's Pokemon, so this data will stay here for a certain amount of time.

Now if you went to Route 101 and made an encounter with a Poochyena, the opposing party Pokemon would be :
Poochyena / - / - / - / - / -

But if you used Repel and went to hunt your roamer (let's say Latias) in order to not make a single wild/trainer battle between your loss at Trainer Tower and the roamer battle, the opposing party Pokemon during your Latias battle would look like this :
Latias / KO Salamence / Dugtrio / - / - / -


To put it shortly, the game doesn't erase the data on opponent party slots 2-6 when you meet a roaming Latias/Latios in Ruby and Sapphire.
It only puts Lati@s on the first slot and stops there, whereas it normally also cleans the remaining party slots.

So, if there were alive Pokemon in opponent party slots 2 to 6 (like on the example), what would happen if you were to kill the roamer ?

The answer is :
- The next alive Pokmon in the opposing party will be sent, like a "normal" battle.

The game acts as you would have imagined for a trainer battle, but since wild battle are supposed to be against a single Pokmon, it is a bit hard to believe/understand at first that another Pokemon can be "sent" during a wild battle.


 Thus, you can rebattle the remaining Pokemon of your last opponent using this glitch.
And since this "rematch" happens during a roamer battle, you can use Balls in order to catch the opposing Pokemon !



Advantages :
- You can steal a Pokemon from nearly every trainer in the game, as long as it isn't in first place.
- This allows you to steal Trainer Tower Pokemon for shinyhunting !


Inconvenients :
- You need to have a roaming Lati@s in your save.
If you killed/caught the Lati@s, you will have to make a new save or use another RS cartridge as there is no way for now to revive a roamer in RS.

- It doesn't work in Emerald, Fire red, or Leaf Green.

- You can only catch one Pokemon with this bug.
Since you're rebattling Pokemon during a roamer battle, catching a Pokemon during that fight will end the battle and the roamer will be considered "caught", so you'll never be able to meet it again.

If you have an Action Replay or are on emulator, you can use codes or savestates in order to get another roamer and catch multiple Pokemon with this bug.

- Nearly every stolen Pokemon will become Bad Eggs.
Almost every trainer in the game will have a different ID and SID that yours.
When you steal one of their Pokemon, their ID and SID is changed to yours.
However, since most of the Pokemon data is crypted using the Trainer ID and SID, that change of ID/SID completely messes up the encryption, which makes the game unable to decrypt the Pokemon data correctly.
This encryption issue will cause an anti-cheating script to detect an irregularity, and this will transform the Pokemon in a Bad Egg.
A Bad Egg is basically an Egg that never hatches, which means that you can't do anything with it.

Even if you use Pomeg Glitch in order to send a Bad Egg in a fight, you wouldn't get anything interesting from it (apart from nice glitches due to the Glitch Moves the Bad Egg has).

/!\ The only Pokmon in RS that won't become Bad Eggs when stolen are the Pokemon from Trainer Tower, which is why this bug is specifically tied to Trainer Tower.


- The Pokmon are hard to steal without a Master Ball.
Since this bug involves a roamer fight, every Pokemon you will rebattle during that fight will act like a roamer : they will try to flee unless you prevent them from doing that.
You can use Shadow Tag, Arena Trap, Mean Look, or Spider Web to trap the opposing Pokemon before catching it or killing it, but this isn't always easy as the Trainer Tower Pokmon have a high level and can be pretty fast.



-- II) Trainer Tower Hunting

Preparations :
- Super Repels / Max Repels
- A Pokmon with Illuminate (Volbeat, Chinchou, Lanturn, Staryu, Starmie)
- A Lv 36-40 Pokmon
- A Pokmon team to fight in Trainer Tower and easily lose too (see below for more details)
- A Pokmon team to catch roaming Pokmon (see below for more details)
- A Master Ball
- Other Balls
- An Emerald version and a link cable (not necessary but very, very useful)
You can use Pomeg Glitch to make the matches and capture way less tricky.


0) Have a RS save file with an alive roamer (not caught, not killed).
If you haven't generated your roamer yet, generate it.
Beat Routes 110,117,118 trainers.


1) If the roamer isn't in your Pokdex, encounter it.
You need the dex entry of the roamer to accurately track it.

~Encountering a Roamer without its Pokdex entry :
1.1) Make a party with : KO Staryu/Chinchou/Volbeat with Illuminate - Lv 36-40 alive Pokmon - other Pokmon
1.2) Fly to Slateport and go to Route 110 South
1.3) Use Repels, use Acro Bike, and go into the patches of grass near the cycling road entrance
1.4) Cycle for 15-20 steps in the grass.
-- If Latias/Latios appears, flee. Now you're done
-- If they didn't appear, enter the cycling road, exit it, and repeat steps 1.3) and 1.4) until you meet one.

Each time you go enter and exit the cycling road door, the roamer is randomly replaced in one of the 20 routes he can be on, so you have 1/20 chance to get in on Route 110.
Thus, it will take 4-5 minutes in average to encounter it.



2) Fly to Trainer Tower. Take your team for Trainer Tower, and start doing matches.

Here, having an Emerald version and something to trade is very, very useful in order to quickly make a team that's able to win matches without big issues.
I really recommend you to do this. (on console or emulator)
Check the section below to see the Pomeg Glitch team.

2.1) During each match, check if one of the opponent's Pokmon is shiny.

You can either kill the opponent's Pokmon, or use a move like Whirlwind/Roar to see all of them.

If you check the opponent's Pokmon using Roar/Whirlwind, and if its third Pokmon is shiny, and if you don't kill its second Pokmon, that second Pokmon will also appear after the roamer is killed (and before the third Pokmon reappears), which will complicate the fight.


2.2) If the opponen't doesn't have any shiny, reset or win the match.
After a certain amount of wins, the oppnent will use stronger Pokmon (including legendaries), which can be interesting.

But if you don't have a powerful team, you can reset and redo the first Trainer Tower matches.


2.3) If the opponent's second or third Pokmon is shiny, lose your match without killing the shiny.

/!\ As the first opponent's Pokmon can't be stolen, it it appears shiny, that will be an uncatchable shiny. This means that you have a 1/3 chance to get an uncatchable shiny on this hunt.

/!\ If you kill the shiny, it won't appear again using the Roamer Rematch Bug.


3) Fly to Mauville City, and take your capture team. 
Have a Pokmon with Surf too.
Put the Lv 36-40 first, and use Acro Bike.


~Encountering a RS Roamer with its Pokdex entry :
This strategy can also be used to shinyhunt RS roamers.
It is the fastest strategy to see them, and takes an average of 3min30 when well executed.
It involves the "Mauville Cross", the gathering of Routes 110,111,117, and 118, because they communicate with each other with Mauville City and because they are at the border of the Routes where a roaming Latias/Latios can be.


3.1) At Mauville City, open your Pokdex and check the roamer location. 
If the roamer isn't on Route  110/111/117/118 / 119/123/134, go to Route 110.

3.2) Go in and out cycling road, checking the roamer location everytime you go back to Route 110, until the Roamer ends up on Route 110/111/117/118 / 119/123/134.

3.3)
If you are on Route 110/111/117/118 and if the roamer is on Route 110/111/117/118, go on the roamer's Route, then use Pokdex to check the roamer's location.

If you are on Route 110/111/117/118 and if the roamer is on Route 119/123/134, then go to Mauville City and use Pokdex to check the roamer's location.

If you are at Mauville City and if the roamer is on Route 110/111/117/118, go to  Route 110 or 117 (Route 117 if he is on Route 110), then use Pokdex to check the roamer's location.

If you are at Mauville City and if the roamer is on Route 119 :
 -If you came from Route 111, go to Route 118, then use Pokdex to check the roamer's location.
 -If you didn't come from Route 111, go to Route 111, then use Pokdex to check the roamer's location.

If you are at Mauville City and if the roamer is on Route 123 :
 -If you came from Route 118, go to Route 111, go back to Mauville City, then go to Route 118, and use Pokdex to check the roamer's location.
 -If you didn't come from Route 118, go to Route 118, and use Pokdex to check the roamer's location.

If you are at Mauville City and if the roamer is on Route 134 :
 -If you came from Route 110, go to Route 118, go back to Mauville City, then go to Route 110, and use Pokdex to check the roamer's location.
 -If you didn't come from Route 110, go to Route 110, and use Pokdex to check the roamer's location.

If you are at Lavandia/Route110/111/117/118, and if the roamer isn't on Routes 110/111/117/118/ 119/123/134, go back to step 3.2).


/!\ Be careful about trainers in Routes 110,117,118, and about Repel's lenght when surfing !


3.4) Once you are on the same road as the roamer, use Repel and go into the grass/water to make it appear.


4) Use your capture team to Kill the roaming Latios/Latias.

Once the roamer is killed, one of the Pokmon from the previous battle that was in party slots 2 to 5 and that was still alive will be sent.

4.1) If the sent Pokmon isn't the Shiny, kill it too.
This will be much harder to do because that Pokmon will be at Lv50/100, and will be much stronger than a wild roamer.

Here having an Emerald version and something to trade is useful in order to quickly make Pokmon capable of trapping a Lv 100 Pokmon that wants to flee, and capable of killing/weakening it.

4.2) Now, the Shiny is sent into the battle.
Trap it and weaken it before throwing Balls, or throw a Master Ball.


5) Save.
And now, you have successfully retreived your Shiny from Trainer Tower, congratulations !!





~Making a fighting team and a capture team using Pomeg Glitch :
Use Pomeg Glitch and Double corruptions in Pokmon Emerald to obtain Pokmon that will be really useful here :

-- For Trainer Tower
You will need :
- an OHKO Glitch Move 
It has the effect of Guillotine, but more PPs, doesn't miss, and hits before Protect
- a strong fire/water move, like Surf to take care of Sturdy Pokmon
- a Glitch Move that changes the Battle type to turn it into a wild Battle
By seeing that move's name, the battle type is changed to a wild battle, which allows you to flee whenever you want.
Since you can't forfeit in Trainer Tower, this glitch move allows you lose your match on the turn the Shiny is sent to the battle, and thus be sure that it won't die because of recoil damage/explosions/...

Obtain these moves using an in-game traded Plusle with :
-- HP EVs, -- Atk EVs, -- Def EVs, -- Speed Evs
-- as Move 1
-- as Move 4

And use the Double Corruption as described here : --


-- For the roamer fight :
Use :
- an OHKO Glitch Move
- a Glitch Move with Mean Look's effect


Obtain these moves using an in-game traded Plusle with :
-- HP EVs, -- Atk EVs, -- Def EVs, -- Speed Evs
-- as Move 1
-- as Move 4


Take two copies of that Pokmon, in case one of them is killed.
Even with this, it's hard to easily weaken the shiny, but you can still use a lot of healing items to tank its moves and throw Balls.


/!\ Glitch Moves differ between every 3rd gen version (RSEFrLg and languages). Thus, don't check the summary of these Glitch Moves in your Emerald version, they are only designed to work well on RS versions.


If you have a question about something, leave a comment in one of my youtube videos and I'll answer you.



Made by Metarkrai
With the help of ChickasaurusGL.



